package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 供应商应付汇总对象 oa_supplier_payable_summary
 *
 * @author ruoyi
 * @date 2025-03-13
 */
public class OaSupplierPayableSummary extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 项目编号 */
    @Excel(name = "项目编号")
    private String projectNumber;

    /** 项目的名称 */
    @Excel(name = "项目的名称")
    private String projectName;

    /** 项目的报价金额 */
    @Excel(name = "项目的报价金额")
    private BigDecimal quotationAmount;

    /** 项目的结算金额 */
    @Excel(name = "项目的结算金额")
    private BigDecimal settlementAmount;

    /** 项目的负责人姓名 */
    @Excel(name = "项目的负责人姓名")
    private String personInCharge;

    /** 项目的开工日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目的开工日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startDate;

    /** 项目的竣工日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目的竣工日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date completionDate;

    /** 项目是否完结 */
    @Excel(name = "项目是否完结")
    private String isProjectCompleted;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    /** 金额是否结清 */
    @Excel(name = "金额是否结清")
    private String isAmountSettled;

    /** 立项id */
    @Excel(name = "立项id")
    private Long initiationId;

    /** 供应商名 */
    @Excel(name = "供应商名")
    private String supplierName;

    /** 应付汇总类型（0报销1供应商） */
    @Excel(name = "应付汇总类型", readConverterExp = "0=报销1供应商")
    private Long isNumber;
    private String otheraPurchaseId;

    public String getOtheraPurchaseId() {
        return otheraPurchaseId;
    }

    public void setOtheraPurchaseId(String otheraPurchaseId) {
        this.otheraPurchaseId = otheraPurchaseId;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setProjectNumber(String projectNumber)
    {
        this.projectNumber = projectNumber;
    }

    public String getProjectNumber()
    {
        return projectNumber;
    }

    public void setProjectName(String projectName)
    {
        this.projectName = projectName;
    }

    public String getProjectName()
    {
        return projectName;
    }

    public void setQuotationAmount(BigDecimal quotationAmount)
    {
        this.quotationAmount = quotationAmount;
    }

    public BigDecimal getQuotationAmount()
    {
        return quotationAmount;
    }

    public void setSettlementAmount(BigDecimal settlementAmount)
    {
        this.settlementAmount = settlementAmount;
    }

    public BigDecimal getSettlementAmount()
    {
        return settlementAmount;
    }

    public void setPersonInCharge(String personInCharge)
    {
        this.personInCharge = personInCharge;
    }

    public String getPersonInCharge()
    {
        return personInCharge;
    }

    public void setStartDate(Date startDate)
    {
        this.startDate = startDate;
    }

    public Date getStartDate()
    {
        return startDate;
    }

    public void setCompletionDate(Date completionDate)
    {
        this.completionDate = completionDate;
    }

    public Date getCompletionDate()
    {
        return completionDate;
    }

    public void setIsProjectCompleted(String isProjectCompleted)
    {
        this.isProjectCompleted = isProjectCompleted;
    }

    public String getIsProjectCompleted()
    {
        return isProjectCompleted;
    }

    public void setRemarks(String remarks)
    {
        this.remarks = remarks;
    }

    public String getRemarks()
    {
        return remarks;
    }

    public void setIsAmountSettled(String isAmountSettled)
    {
        this.isAmountSettled = isAmountSettled;
    }

    public String getIsAmountSettled()
    {
        return isAmountSettled;
    }

    public void setInitiationId(Long initiationId)
    {
        this.initiationId = initiationId;
    }

    public Long getInitiationId()
    {
        return initiationId;
    }

    public void setSupplierName(String supplierName)
    {
        this.supplierName = supplierName;
    }

    public String getSupplierName()
    {
        return supplierName;
    }

    public void setIsNumber(Long isNumber)
    {
        this.isNumber = isNumber;
    }

    public Long getIsNumber()
    {
        return isNumber;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("projectNumber", getProjectNumber())
                .append("projectName", getProjectName())
                .append("quotationAmount", getQuotationAmount())
                .append("settlementAmount", getSettlementAmount())
                .append("personInCharge", getPersonInCharge())
                .append("startDate", getStartDate())
                .append("completionDate", getCompletionDate())
                .append("isProjectCompleted", getIsProjectCompleted())
                .append("remarks", getRemarks())
                .append("isAmountSettled", getIsAmountSettled())
                .append("initiationId", getInitiationId())
                .append("supplierName", getSupplierName())
                .append("isNumber", getIsNumber())
                .toString();
    }
}
